Enabling SSL
We strongly recommend configuring your Droplet to use SSL connections. The easiest way to do this is to use the certbot tool to configure a free certificate provided by Let's Encrypt for example. Once your domain name is correctly mapped to your droplet you can enable this by running the following command from an SSH shell.
sudo certbot --apacheIf you receive an error message stating
The requested apache plugin does not appear to be installedthen try using the following command to install the missing components before running the certbot call again.
sudo apt-get install python3-certbot-apacheFor more detailed instructions on how to configure SSL, please see this guide produced by DigitalOcean.
Storing Your WebMaker License Key
In order to run applications published to the Droplet you will need to install a WebMaker Runtime Server license key. This could be a Java Gateway or Rules Server license depending on the applications you are trying to run. If you don't yet have a server license, please see the 'Optional Server Addons' section on the Hyfinity Website for details.
Once you have your license key, you can SSH to the droplet and then edit the license file located at /usr/share/webmaker/license.hyf. You need to replace the contents of this file with your license key string. Alternatively, you could use an FTP client to connect to your droplet and replace the file itself with your existing license file.
Configuring Publish Settings in the WebMaker Studio
Once your project is ready for publication, you can use the Publish -> Publish Settings menu option to configure a new Publication Target, as discussed in the previous section. For publishing to a DigitalOcean droplet you can use the specific DigitalOcean Droplet Publication Target Type. This option will only require 4 parameters to be confirmed.
The droplet.url will be the URL used to access your droplet. If you have configured a domain name you can use that (eg https://example.com) or alternatively you can use the IP address (eg http://<your IP Address>)
When your droplet is first initialised it will generate a random username/password combination for you to use to publish and administer your applications. You can view these generated details by looking at the tomcat-users.xml file, eg
cat /etc/tomcat9/tomcat-users.xmlThe wmpublish user should be entered into the Publication Target Settings in the studio, taking the appropriate password from this file. Finally, the context.path parameter indicates the path at which your application will be accessible. For example, if you use a value of 'myapp', then you would access your application using a URL like http://mydomain.com/myapp
Runtime Dashboard
The DigitalOcean Droplet includes an installation of the WebMaker Dashboard to enable you to easily view logs and configure settings for your published applications. This can be accessed on your droplet at the /wmdashboard path, eg https://mydomain.com/wmdashboard/ and will require authenticating as the wmadmin user. The password to use for this user can be located in the file discussed previously.
For details on how to use the Dashboard, please refer to the later section on Server Platform Administration
Redirecting Initial Requests
After publishing your application, it will be accessible via a URL of the form https://mydomain.com/myapp, which will show the 'start' page for your application. Often this will not be the page you want to show, and instead you will want to access a specific action; equivalent to using a URL like https://mydomain.com/myapp/startForm.do
To set the action that should be called by default for a particular published application you can edit the web.xml configuration file for your project. As discussed elsewhere in the documentation, this file will be generated at test/publication time if not present, but you can place a copy in the WEB-INF directory within your project repository folder if you need to make adjustments. In this case it is the value of the welcome-file element that you would want to change, eg from 'start.do' to 'startForm.do'
Alternatively, you can use Apache redirect configurations to handle redirecting initial requests to the correct location. Depending on whether or not you have enabled SSL via certbot, you will need to make these changes to either the /etc/apache2/sites-available/000-default.conf or /etc/apache2/sites-available/000-default-le-ssl.conf files.
As an example, you could add a section like one of the following to redirect requests for the root of your domain (eg https://mydomain.com) to a specific application and/or action. (This is contained within a Proxy block as the ProxyPass directive is being used to pass requests through Apache to the Tomcat server.)
<Proxy *> RedirectMatch ^/$ /myapp/ </Proxy>
<Proxy *> RedirectMatch ^/$ /myapp/startForm.do </Proxy>Once changes have been made to the configuration, you will need to restart Apache for the new settings to be picked up:
sudo systemctl restart apache2